const Ipc = require('../main/ipc');

let MenuUtil = {};

MenuUtil.createFileMenu = function() {
    return [
        {
            label: '创建文件夹',
            click () {
                Ipc.sendToAll('ui:create_folder');
            }
        },
        { type: 'separator' },
        {
            label: '创建Scene',
            click () {
                Ipc.sendToAll('ui:create_scene');
            }
        },
    ]
};

MenuUtil.createNodeMenu = function() {
    return [
        {
            label: '创建空节点',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UIWidget");
            }
        },
        { type: 'separator' },
        {
            label: '创建Sprite(精灵)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UIImage");
            }
        },
        {
            label: '创建LabelTTF(文字)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UIText");
            }
        },
        {
            label: '创建Scale9(九宫)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "ExtScale9");
            }
        },
        {
            label: '创建EditBox(输入框)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UIInput");
            }
        },
        {
            label: '创建Slider(滑动条)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UISlider");
            }
        },
        {
            label: '创建Button(按钮)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UIButton");
            }
        },
        {
            label: '创建CheckBox(选中框)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UICheckBox");
            }
        },
        {
            label: '创建ScrollView(滚动示图)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UIScrollView");
            }
        },
        {
            label: '创建ListView(列表示图)',
            click () {
                Ipc.sendToAll('ui:create_render_node', "UIListView");
            }
        }
    ]
}


MenuUtil.createPosition = function() {
    return [
        {
            label: '移至顶层',
            click () {
                Ipc.sendToAll('ui:move_position_top');
            }
        },
        {
            label: '移至上一层',
            click () {
                Ipc.sendToAll('ui:move_position_up');
            }
        },
        {
            label: '移至下一层',
            click () {
                Ipc.sendToAll('ui:move_position_down');
            }
        },
        {
            label: '移至底层',
            click () {
                Ipc.sendToAll('ui:move_position_bottom');
            }
        }
    ]
}


MenuUtil.createOperateNodeMenu = function() {
    return [
        {
            label: '新建',
            params: [],
            submenu: MenuUtil.createNodeMenu(),
        },
        { type: 'separator' },
        {
            label: '拷贝',
            params: [],
            click () {
            Ipc.sendToAll('node:copy_item');
            }
        },
        {
            label: '粘贴',
            params: [],
            click () {
            Ipc.sendToAll('node:paste_item');
            }
        },
        {
            label: '复制节点',
            params: [],
            click () {
            Ipc.sendToAll('node:copy_paste_item');
            }
        },
        {
            label: '删除节点',
            params: [],
            click () {
            Ipc.sendToAll('node:delete_item');
            }
        },
        { type: 'separator' },
        {
            label: '位置移动',
            params: [],
            submenu: MenuUtil.createPosition(),
        }
    ]
};


MenuUtil.createOpenFileOperate = function() {
    return [
    {
        label: '新建',
        params: [],
        submenu: MenuUtil.createFileMenu(),
    },
    { type: 'separator' },
    {
        label: '重命名',
        params: [],
        click () {
        Ipc.sendToAll('ui:rename-file-or-folder');
        }
    },
    {
        label: '删除',
        params: [],
        click () {
        Ipc.sendToAll('ui:delete-file-or-folder');
        }
    },
    {
        label: '在资源浏览器中显示',
        params: [],
        click () {
        Ipc.sendToAll('ui:show-in-explorer');
        }
    },
    ];
};

module.exports = MenuUtil;